const express = require('express')
const admincontroller = require('../controller/adminController')
const categoryController = require('../controller/categoryController')
const tagController = require('../controller/tagController')
const articleController = require('../controller/articleController')
const multer = require('multer')
const { verify } = require('jsonwebtoken')

// 定义上传的目录
const upload = multer({ dest: 'uploads/' })

// 获得路由器对象
const router = express.Router()

// 获取管理员信息
router.get('/adminInfo', admincontroller.adminInfo)

// 获取管理员数据
router.get('/adminData', admincontroller.adminData)

// 实现文件上传
router.post('/upload', upload.single('avatar'), admincontroller.upload)

// 更新头像
router.put('/uploadAvatar', admincontroller.uploadAvatarData)

// 修改密码
router.put('/password', admincontroller.changePasswordData)

//* 分类接口 *//

// 获取分类
router.get('/category', categoryController.getCategoryData)

// 删除分类
router.delete('/category', categoryController.delCategoryData)

// 删除选中分类
router.delete('/selectedCategory', categoryController.delSelectedData)

// 添加分类
router.post('/addCategory', categoryController.addCategoryData)

// 获取所编辑的分类的数据
router.get('/editedCategory', categoryController.getEditedCategoryData)

// 修改分类数据
router.post('/changeCategory', categoryController.changeCategoryData)

// 获取分类名称数据
router.get('/categoryName', categoryController.getCategoryNameData)

//* 标签接口 *//

// 获取标签数据和数量
router.get('/tag', tagController.getTagData)

// 添加标签
router.post('/addTag', tagController.addTagData)

// 校验标签名称
router.get('/verify', tagController.verifyTagName)

// 删除标签
router.delete('/delTag', tagController.delTagData)

// 删除选中标签
router.delete('/delSelTag', tagController.delSelTagData)

// 获取编辑标签的数据
router.get('/editedTag', tagController.editedTagData)

// 编辑标签
router.put('/editTag', tagController.editTagData)

// 获取标签名称数据
router.get('/tagName', tagController.getTagNameData)

//* 文章接口 *//

// 获取文章数据和数量
router.get('/article', articleController.getArticleData)

// 添加文章
router.post('/addArticle', articleController.addArticleData)

// 获取分类文章数据
router.get('/categoryArticle', articleController.getCategoryArticleData)

// 获取标签文章数据
router.get('/tagArticle', articleController.getTagArticleData)

// 获取所编辑的文章数据
router.get('/editArticle', articleController.getEditArticleData)

// 修改文章
router.put('/changeArticle', articleController.changeAritcleData)


// 导出路由
module.exports = router
